1
文本基础:Julia 中的字符与字符串对比
AI015Lesson 5
00:00

在 Julia 中,文本通过两种不同的架构实体进行处理: 32 位字符(Char) 原生类型和不可变的, UTF-8 编码的字符串(String)。与某些语言中字符即为单字符字符串不同,Julia 将 Char 视为一个表示 Unicode 码点的一等数值类型。

1. 类型层次结构与内存

具体而言, Char 是一个 $32$ 位的原生类型(子类型为 AbstractChar)。内置的 String (子类型为 AbstractString)支持完整的 Unicode 范围。虽然一个 Char 是固定大小的, String 而字符串是可变宽度的;单个字符占用 1 到 4 字节,ASCII 的转换点位于 $0x80(128)$ 处。

2. 算术与比较

由于 Char 代表一个数值码点,因此可以进行算术运算。使用 Int('a') 可得到 97,而使用 Char(97) 可得到 'a'。支持词典顺序比较: 'X' < 'x' 为真,因为在 Unicode 中大写字母排在小写字母之前。

特性字符('a'字符串("a"
类型CharString
大小固定 $32$ 位可变宽度 UTF-8
可变性不适用(值类型)否(不可变)

链式比较如 'A' <= 'X' <= 'Y' 的判断结果为 truefalse 基于 Unicode 序列。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>